技術問答
技術文章
iT 徵才
聊天室
2026 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2024 iThome 鐵人賽
DAY
1
0
自我挑戰組
Notes from an android developer
系列 第
1
篇
#001 kotlin flow
16th鐵人賽
艾克西猴
2024-09-14 23:27:11
620 瀏覽
分享至
工作上開始接觸 kotlin 的 flow, 所以先來一些關於 flow 的整理, 彙整自己的認識
什麼是 kotlin flow
Kotlin Flow 是一種的非同步的 stream,可以在一段時間內發出多個值。它由 Flow 介面定義,需要實作一個稱為 collect 的方法。與傳統的非同步不同,Flow 允許以聲明的方式來處理 data stream,讓應用程式更容易管理複雜的資料流。
關於 Flow 幾個特性
Cold Streams:
Flow 是 cold stream (冷資料流), 意思是在 stream 被 collect 之前,其程式碼不會執行。此行為與 RxJava 的 Observables 相似,只有當 subscriber 訂閱時才會開始 emission.
Asynchronous Emission:
Flow 可使用
emit()
函式以非同步的方式 emit 數值/資料,允許 non-blocking 的操作。這對於長時間執行的任務或 I/O 受限的作業特別有用
與 Coroutines 的緊密整合;
Flow 可與 Kotlin Coroutines 無縫地運作,讓開發人員可以利用 suspending functions 和 Coroutine builders 來管理 concurrency,而不需要傳統 threading models 的複雜性。
Cancellation: Flow 支援結構化 (structured) concurrency, 當一個 Flow 不再被需要時, 你可以 cancel 一個 Flow.
Error Handling: 當資料處裡過程中如有異常 (exception) 發生提供有錯誤控制機制.
留言
追蹤
檢舉
下一篇
#002 flow example
系列文
Notes from an android developer
共
5
篇
目錄
RSS系列文
訂閱系列文
0
人訂閱
1
#001 kotlin flow
2
#002 flow example
3
#003 kotlin flow more examples
4
#004 kotlin channelFlow
5
#005 kotlin channelFlow-2
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19831
篇
完賽人數
528
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
誰能證明AI是一場公司的大災難
在這過快的年代,誰還有辦法去用手寫而不是機器鍵盤敲出全部的程式碼?別再跟我AI,希望能有手寫程式碼的真正執行人告訴我為何
延續誰能證明ai是場災難
Fortigate的廠商說某些功能的授權因為區域限制無法購買是正常的嗎?
過勞的大大喝茶下班了嗎?
MSSQL 2019 使用 DB Link Oracle ODAC 19c。 "OraOLEDB.Oracle" 無法開始分散式交易
熱門回答
誰能證明AI是一場公司的大災難
鼎新ERP /SMART 專案成本分析..
在這過快的年代,誰還有辦法去用手寫而不是機器鍵盤敲出全部的程式碼?別再跟我AI,希望能有手寫程式碼的真正執行人告訴我為何
Fortigate的廠商說某些功能的授權因為區域限制無法購買是正常的嗎?
過勞的大大喝茶下班了嗎?
熱門文章
好想跟 Discord 聊天就把專案寫好 : Claude Code Channels
如何設計自己的遊戲開發同事
如何用cppsp解決c++擴充類別/結構的限制
实测显示 Xiaomi MiMo-V2-Pro 已具备进入实际工作流的能力:以 Crazyrouter 统一接口对比 Claude 为例
滾動驅動動畫成 2026 網頁標配:從 GSAP ScrollTrigger 到 WebGL 的實戰手冊
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}